/*
 * Activity.h
 *
 *  Created on: 19 Aug 2011
 *      Author: Allan
 */

#ifndef ACTIVITY_H_
#define ACTIVITY_H_

// Eigen includes
#include <Eigen/Core>
using namespace Eigen;

class Activity
{
public:
	virtual ~Activity() {}

	virtual const double activity(double T, double P, const VectorXd& n) const = 0;
	
	virtual const double activityCoefficient(double T, double P, const VectorXd& n) const = 0;
	
	virtual const VectorXd activityDerivatives(double T, double P, const VectorXd& n, const VectorXd& a) const = 0;
};

#endif /* ACTIVITY_H_ */
